B-trees with relaxed balance
نویسندگان
چکیده
B-trees with relaxed balance have been deened to facilitate fast updating in a concurrent database environment. In that structure, updating and rebalancing are uncoupled such that extensive locking can be avoided in connection with updates. Constraints, weaker than the usual ones, are maintained such that the tree can still be balanced independent of the updating processes. We nd the idea of relaxed balance very promising. However, the original proposal suuers from a number of problems, the worst of which is the lack of a proof of complexity. >From previous work on relaxed data structures, it is known that the choice of constraints and conditions under which the diierent rebalancing operations can be carried out is critical for the overall complexity. Small alterations in the deenitions can change the overall complexity with an order of magnitude. In this paper, we deene a modiied set of rebalancing operations, and prove that each update gives rise to at most blog a (N=2)c + 1 rebalancing operations, where a is the degree of the B-tree, and N is the bound on its maximal size since it was last in balance. In addition to the logarithmic bounds, we also prove that rebalancing can be performed in amortized constant time. So, in the long run, rebalancing is constant time on average, even if any particular update could give rise to logarithmic time rebalancing. We also prove that the amount of rebalancing done at any particular level decreases exponentially going from the leaves towards the root. This is important since locking close to the root can signiicantly reduce the amount of parallelism possible in the system. Though the object of interest to us here is the B-tree, the results are in fact obtained for the more general (a; b)-trees, so we have results for both of the common B-tree versions as well as 2-3 trees and 2-3-4 trees.
منابع مشابه
Complexity of Layered Binary Search Trees with Relaxed Balance
When search trees are made relaxed, balance constraints are weakened such that updates can be made without immediate rebalancing. This can lead to a speed-up in some circumstances. However, the weakened balance constraints also make it more challenging to prove complexity results for relaxed structures. In our opinion, one of the simplest and most intuitive presentations of balanced search tree...
متن کاملVariants of ( a ; b ) - Trees with Relaxed
New variants of (a; b)-trees with relaxed balance are proposed. These variants have better space utilization than the earlier proposals, while the asymptotic complexity of rebalancing is unchanged. The proof of complexity , which is derived, is much simpler than the ones previously published. Through experiments, some of the most interesting applications of this data structure are modeled, and ...
متن کاملAVL Trees with Relaxed Balance
The idea of relaxed balance is to uncouple the rebalancing in search trees from the updating in order to speed up request processing in main-memory databases. In this paper, we describe a relaxed version of AVL trees. We prove that each update gives rise to at most a logarithmic number of rebalancing operations and that the number of rebalancing operations in the semidynamic case is amortized c...
متن کاملB-slack Trees: Space Efficient B-Trees
B-slack trees, a subclass of B-trees that have substantially better worst-case space complexity, are introduced. They store n keys in height O(logb n), where b is the maximum node degree. Updates can be performed in O(log b 2 n) amortized time. A relaxed balance version, which is well suited for concurrent implementation, is also presented.
متن کاملB-slack trees: Highly Space Efficient B-trees
B-slack trees, a subclass of B-trees that have substantially better worst-case space complexity, are introduced. They store n keys in height O(logb n), where b is the maximum node degree. Updates can be performed in O(log b 2 n) amortized time. A relaxed balance version, which is well suited for concurrent implementation, is also presented.
متن کامل